import {Entity, PrimaryGeneratedColumn, Column, BeforeUpdate } from 'typeorm';

@Entity('resource')
export class ResourceEntity {

  @PrimaryGeneratedColumn()
  id: number;

  // 父节点id
  @Column()
  parentId: number;

  // 描述
  @Column()
  comments: string;

  // 名称
  @Column()
  label: string;

  // 类型
  @Column()
  type: number;

  // 排序id
  @Column()
  sortId: number;

  // 是否显示在菜单项
  @Column()
  enable: boolean;

  // icon
  @Column()
  icon: string;

  // 地址
  @Column()
  api: string;

  // 路由路径
  @Column()
  routePath: string;

  // 组件路径
  @Column()
  componentPath: string;

  @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
  created: Date;

  @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
  updated: Date;

  @BeforeUpdate()
  updateTimestamp() {
    this.updated = new Date();
  }
}
